package com.example.dayu521.sg_oss.service;

import org.example.dayu521.SafeParam;
import org.example.dayu521.exception.BadObjSize;

import java.util.function.Function;

public interface PreSignature extends BaseServiceProvider {

    final class SignatureState{
        private Function<AskParam,AskResult> delegate=null;
        private BadObjSize e;
    }
    record AskParam(
            String obj_name,
            long obj_size
    ){}
    record AskResult(
            String method,
            String url,
            String file_wrapper
    ){}
    AskResult ask_obj_handle(@SafeParam("非空") AskParam ask_param) throws BadObjSize;
}
